<template>
   <h1>接收祖先组件的值：{{keygen}}</h1>
   <slot name="footer"></slot>
</template>
<script setup>
  import {ref,inject,useAttrs,useSlots,defineExpose} from 'vue'

  let keygen=inject('keyGen')
  console.log(keygen,"-----------")


  // useAttrs 接收父传子的值，除props之外的值
  let attrs=useAttrs();
  console.log(attrs,"接收父传子的值，除props之外的值");
//  useSlots 替代 context.slots 
// 获取父组件传递的插槽内容
  let slots=useSlots();
   console.log('slots',slots)
 

  //  子组件方法
   let sayHI=()=>{
       console.log("调用了子组件的方法")
   }
   let mycity=ref("华盛顿");
// defineExpose 暴露 子组件的数据和方法 给父组件使用

    defineExpose({
      sayHI,
      mycity
    })



</script>